<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
     <meta name='viewport' content='width=device-width, initial-scale=1.0'>
     <title>Math数学函数中常用的方法</title>
     <link rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/default.min.css'>
     <script src='//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js'></script>
</head>
<body>
     <pre>
        <code>
            /**
            * Math数学函数中的方法
            * 
           */
   
           // 取绝对值 Math.abs
           let xs = -0.2365
           console.log('Math.abs(0.2365)',Math.abs(xs)); // 0.2365
   
           // 向上取整数 Math.cell()
           let cell = 3.15
           let _cell = 3.52
           console.log('Math.ceil(3.15)',Math.ceil(cell));
           console.log('Math.ceil(3.52)',Math.ceil(_cell));
           // 向下取整数 Math.floot()
           console.log('Math.floor(3.15)',Math.floor(cell));
           console.log('Math.floor(3.52)',Math.floor(_cell));
           // pi圆周率
           console.log('Pi',Math.PI);
   
           // math方法先将参数Number
           console.log(Math.ceil('12.5px')); // NaN
           console.log(Math.ceil('12.5')); // 13
   
           // 找到最大值
           console.log('1,2,58,6,78,9,42','最大值是',Math.max(1,2,58,6,78,9,42));
   
           // 思考题 ： 使用max/min求最大值 最小值
           let arr = [1,2,3,4,5,6,98,]
           // console.log(...arr);
           console.log(Math.max(arr)); // NaN
           console.log('arr数组使用min/max找最大值',Math.max(...arr));
           console.log('arr数组使用min/max找最大值',Math.max.apply(null,arr));
           console.log('arr数组使用min/max找最大值',Math.max.call(null,...arr));
           // Math.sqrt()  开平方  符合n*n = m可以开整数  负数不能开平方 因为 -3* -3 = 正数
           console.log(Math.sqrt(9)); // 3
   
           // Math.pow(n.m) n的m次方
           console.log(Math.pow(2,10)); // 1024  
   
           // Math.round 负数中 5 舍 正数中 5 入
           console.log('Math.round(3.5)',Math.round(3.5)); // Math.round(3.5) 4
           console.log('Math.round(4.125)',Math.round(4.125)); // 4
           console.log('Math.round(-4.125)',Math.round(-4.125)); // -4
   
           // Math.random() 随机数
           for(let i = 0; i < 10; i++) {
               console.log(Math.random());
           }
   
           // 扩展 获取[n,m]之间的随机整数 ==> n < m Math.round(Math.random()) (0,1) * 10
           function randomMath(n,m){
               return Math.round(Math.random()*(m - n) + n)
           }
   
           console.log('生成0-5的随机整数',randomMath(0,5));
   
           // 获取【1-10】
           // Math.round(Math.random()) [0-1] ==> [1,9] 
           // (0-1) * 9 ==> ( 0 - 9 ) + 1 ==> [1 - 10]
           
           // 生成随机范围内的整数
           let reusn = (min,max) => {
             return Math.round(Math.random()*(max-min)+min)
           }
   
           for(let k = 0;k<10;k++) {
               console.log('生成范围在5-10之间的随机整数',reusn(5,10));
           }
        </code>
     </pre>
     <script> hljs.highlightAll(); </script>
     <script>
        /**
         * Math数学函数中的方法
         * 
        */

        // 取绝对值 Math.abs
        let xs = -0.2365
        console.log('Math.abs(0.2365)',Math.abs(xs)); // 0.2365

        // 向上取整数 Math.cell()
        let cell = 3.15
        let _cell = 3.52
        console.log('Math.ceil(3.15)',Math.ceil(cell));
        console.log('Math.ceil(3.52)',Math.ceil(_cell));
        // 向下取整数 Math.floot()
        console.log('Math.floor(3.15)',Math.floor(cell));
        console.log('Math.floor(3.52)',Math.floor(_cell));
        // pi圆周率
        console.log('Pi',Math.PI);

        // math方法先将参数Number
        console.log(Math.ceil('12.5px')); // NaN
        console.log(Math.ceil('12.5')); // 13

        // 找到最大值
        console.log('1,2,58,6,78,9,42','最大值是',Math.max(1,2,58,6,78,9,42));

        // 思考题 ： 使用max/min求最大值 最小值
        let arr = [1,2,3,4,5,6,98,]
        // console.log(...arr);
        console.log(Math.max(arr)); // NaN
        console.log('arr数组使用min/max找最大值',Math.max(...arr));
        console.log('arr数组使用min/max找最大值',Math.max.apply(null,arr));
        console.log('arr数组使用min/max找最大值',Math.max.call(null,...arr));
        // Math.sqrt()  开平方  符合n*n = m可以开整数  负数不能开平方 因为 -3* -3 = 正数
        console.log(Math.sqrt(9)); // 3

        // Math.pow(n.m) n的m次方
        console.log(Math.pow(2,10)); // 1024  

        // Math.round 负数中 5 舍 正数中 5 入
        console.log('Math.round(3.5)',Math.round(3.5)); // Math.round(3.5) 4
        console.log('Math.round(4.125)',Math.round(4.125)); // 4
        console.log('Math.round(-4.125)',Math.round(-4.125)); // -4

        // Math.random() 随机数
        for(let i = 0; i < 10; i++) {
            console.log(Math.random());
        }

        // 扩展 获取[n,m]之间的随机整数 ==> n < m Math.round(Math.random()) (0,1) * 10
        function randomMath(n,m){
            return Math.round(Math.random()*(m - n) + n)
        }

        console.log('生成0-5的随机整数',randomMath(0,5));

        // 获取【1-10】
        // Math.round(Math.random()) [0-1] ==> [1,9] 
        // (0-1) * 9 ==> ( 0 - 9 ) + 1 ==> [1 - 10]
        
        // 生成随机范围内的整数
        let reusn = (min,max) => {
          return Math.round(Math.random()*(max-min)+min)
        }

        for(let k = 0;k<10;k++) {
            console.log('生成范围在5-10之间的随机整数',reusn(5,10));
        }

    </script>

</body>
</html>